登录 白背景

leetcode/100-n/414. 第三大的数.md

简单

https://leetcode-cn.com/problems/third-maximum-number/

func thirdMax(nums []int) int {
    for key := range nums {
        //找最大
        if key >= 1 {
            if nums[key] > nums[0] {
                nums[key], nums[0] = nums[0], nums[key]
            }
        }
        //第二大
        if key >= 2 {
            if nums[key] > nums[1] && nums[key] < nums[0] {
                nums[key], nums[1] = nums[1], nums[key]
            }
        }
        //第三大
        if key >= 3 {
            if nums[key] > nums[2] && nums[key] < nums[1] {
                nums[key], nums[2] = nums[2], nums[key]
                continue
            }
            if nums[1] == nums[2] && nums[key] < nums[2] {
                nums[key], nums[2] = nums[2], nums[key]
            }
        }
    }
    if len(nums) < 3 {
        return nums[0]
    }
    if nums[0] != nums[1] && nums[2] != nums[1] {
        return nums[2]
    }
    return nums[0]
}